<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 循环
        //   死循环 + break
        //      for(var i = 0 ; ; i++) {
        //       if() {break ;}
        //      }

        //      while(true) {}

        //  函数
        //    特点：封装性，复用性，调用
        //    形参与实参(函数声明->形参   函数调用->实参)
        //       形参：本质就是局部变量   如果没有传参  undefined 
        //       短路赋值  ->   给形参进行短路赋值(保证函数在调用的时候，即使没有传参，程序也能正常运行)
        //           短路对于程序的影响 -> 后面的程序不会执行
        //    作用域  ->  变量生效的范围     以函数为界
        //       函数内可以访问外面的变量  --- 函数自己如果有变量，优先使用自己    null / undefined  /  报错 ？？？
        //       外面不能访问函数内部的变量 
        //    预编译(提升var和具名函数)
        //    函数的声明方式(具名函数，赋值式函数，匿名函数(自调用，一次性))
        //    事件驱动型函数(看不到函数的调用，没有形参)
        //    return 给函数一个结果，结束整个函数

       var n = 1 || 3 ;  //  1
       var m = 0 || 5 || 7 ;  // 5
       var x = 1 && 2 ;  // 2
       var y = false && true ;



       for(var i = 0 ; i < 10 ; i++) {
        console.log(i);
       }


       console.log(i);  // 10

    </script>
    
</body>
</html>